$(document).ready(function () {
    // 详情页面展开选项
    $('.show-all a').on('click', function (e) {
        // e.preventDefault(); // 阻止默认的点击事件行为
        var $info3 = $(this).closest('.info3');
        var $targetP = $info3.find('.text');
        var $toggleText = $(this).find('.toggle-text');
        if ($targetP.length > 0) {
            if ($targetP.hasClass('expanded')) {
                $targetP.removeClass('expanded').animate({height: '50px'}, 300); // 收起并动画到初始高度
                $toggleText.text('展开 ⋁');
            } else {
                var expandedHeight = $targetP.get(0).scrollHeight;
                $targetP.css('min-height', '55px').slideDown(0); // 重置到初始状态
                $targetP.addClass('expanded').animate({height: expandedHeight}, 300); // 展开并动画到内容高度
                $toggleText.text('收起 ⋀');
            }
        }
    });
    // 评论页面展开选项
    $('.comment-list li a').on('click', function (e) {
        var $this = $(this); // 缓存当前点击的<a>元素
        var $parentLi = $this.closest('li'); // 找到包含<a>的<li>元素
        var $part = $parentLi.find('.show-part'); // 找到对应的.show-part元素
        var $all = $parentLi.find('.show-all'); // 找到对应的.show-all元素
        if ($all.hasClass('hidden')) {
            $all.removeClass('hidden').slideDown(300);
            $part.addClass('hidden');
        } else {
            $all.slideUp(300, function () {
                $all.addClass('hidden').slideUp(300); // 在动画完成后添加hidden类
                $part.removeClass('hidden');
            });
        }
    });

    // 模态框
    $('.add:eq(0)').click(function () {
        $('.side-buy:eq(0)').removeClass('show');
        $('.side-add:eq(0)').addClass('show');
    });
    $('.closePanelBtn').click(function () {
        $('.side-add:eq(0)').removeClass('show');
    });
    $('.buy:eq(0)').click(function () {
        $('.side-add:eq(0)').removeClass('show');
        $('.side-buy:eq(0)').addClass('show');
    });
    $('.closePanelBtn').click(function () {
        $('.side-buy:eq(0)').removeClass('show');
    });

    // 计数器开始
    var minusBtn = $('.minusBtn:eq(0)');
    var minusBtn2 = $('.minusBtn:eq(1)');
    var plusBtn = $('.plusBtn:eq(0)');
    var plusBtn2 = $('.plusBtn:eq(1)');
    var counterInput = $('.counterInput:eq(0)');
    var counterInput2 = $('.counterInput:eq(1)');
    minusBtn.on('click', function () {
        var value = parseInt(counterInput.val(), 10);
        if (value > 1) {
            value--;
            counterInput.val(value);
        }
    });
    minusBtn2.on('click', function () {
        var value2 = parseInt(counterInput2.val(), 10);
        if (value2 > 1) {
            value2--;
            counterInput2.val(value2);
        }
    });
    plusBtn.on('click', function () {
        var value = parseInt(counterInput.val(), 10);
        value++;
        counterInput.val(value);
    });
    plusBtn2.on('click', function () {
        var value2 = parseInt(counterInput2.val(), 10);
        value2++;
        counterInput2.val(value2);
    });
    // 监听输入框的输入事件，确保输入的是数字，并且不小于0
    counterInput.on('input', function () {
        $(this).val($(this).val().replace(/[^0-9]/g, '').replace(/(\..*?)\..*/g, '$1'));
        if ($(this).val() < 1) {
            $(this).val(1);
        }
    });
    counterInput2.on('input', function () {
        $(this).val($(this).val().replace(/[^0-9]/g, '').replace(/(\..*?)\..*/g, '$1'));
        if ($(this).val() < 1) {
            $(this).val(1);
        }
    });
    // 计数器结束
    // 添加购物车开始
    $('.btn-add .add').click(function (e) {
        e.preventDefault(); // 阻止默认的链接行为
        // 获取表单数据
        var book_id = $('input[name="book_id"]').val(); // 从隐藏的 input 获取，或者从其他地方获取
        var number = $('.counterInput').val(); // 从数量输入框获取
        // 发送 POST 请求到 Flask 路由
        $.ajax({
            url: '/add_to_car', // 替换为你的 Flask 路由 URL
            type: 'POST',
            data: {
                book_id: book_id,
                number: number
            },
            success: function (response) {
                console.log(response);
                $('.side-buy:eq(0)').removeClass('show');
                $('.side-add:eq(0)').removeClass('show');
                if (response.message == '请先登录') {
                    alert("请先登录！")
                } else {
                    alert("添加成功！")
                }
            },
            error: function (error) {
                console.error(error);
                alert("添加失败！")
            }
        });
    });
    // 添加购物车结束

    // 直接购买开始
    $('.btn-buy .buy').click(function (e) {
        e.preventDefault(); // 阻止默认的链接行为
        // 获取表单数据
        var book_id2 = $('input[name="book_id_2"]').val(); // 从隐藏的 input 获取，或者从其他地方获取
        var number2 = $(this).closest('.side-buy').find('.counterInput').val(); // 从数量输入框获取
        // 发送 POST 请求到 Flask 路由
        if (confirm('您确定要支付吗？')) {
            $.ajax({
                url: '/pay', // 替换为你的 Flask 路由 URL
                type: 'POST',
                data: {
                    book_id2: book_id2,
                    number2: number2
                },
                success: function (response) {
                    console.log(response);
                    $('.side-buy:eq(0)').removeClass('show');
                    $('.side-add:eq(0)').removeClass('show');


                    if (response.message == '请先登录') {
                        alert("请先登录！")
                    } else {
                        $('.comment-add:eq(0)').removeClass('show');
                        $('.comment-add:eq(0)').addClass('show');
                        $('.closePanelBtn').click(function () {
                            $('.comment-add:eq(0)').removeClass('show');
                        });


                        $('.comment-add p:eq(1)').text(response.book.book_author);
                        $('.comment-add input[name="book_id"]').val(response.book.book_id); // 假设的book_id
                        $('.comment-add img').attr('src', response.book.photo); // 假设的图片路径
                        $('.comment-add textarea[name="comment"]').text('这是默认的评价文本'); // 注意：对于textarea，通常使用.val()来设置值

                        $('.comment-add .btn-y').click(function () {
                            var commentText = $('textarea[name="comment"]').val();
                            $.ajax({
                                url: '/add_comment',
                                type: 'POST',
                                data: {
                                    book_id: response.book.book_id,
                                    comment: commentText
                                },
                                success: function (res) {
                                    $('.comment-add:eq(0)').removeClass('show');
                                    console.log(res);
                                    alert("评论成功！")
                                    location.reload();
                                },
                                error: function (error) {
                                    console.error(error);
                                    alert("系统错误，评论失败！")
                                }
                            });
                        });

                        alert("购买成功！")
                    }


                },
                error: function (error) {
                    console.error(error);
                    alert("购买失败！")
                }
            });
        }
    });
    // 直接购买结束



    $('.logout').each(function () {
        // 为每个.logout元素存储原始文本
        $(this).data('originalText', $(this).text());
    }).hover(
        function () {
            // 鼠标进入时更改文本
            $(this).text("退出登录");
        },
        function () {
            // 鼠标离开时还原文本
            // 从.data()中获取原始文本并设置回去
            $(this).text($(this).data('originalText'));
        }
    );


    /*退出文本*/
    // text = null;
    // $('.logout').hover(
    //     function () {
    //         // 鼠标进入时更改文本
    //         text = $(this).text();
    //         $(this).text("退出登录");
    //     },
    //     function () {
    //         // 鼠标离开时还原文本
    //         $(this).text(text);
    //     }
    // );
});